---
title: bud.sh
description: Execute arbitrary shell commands
tags:
  - helpers
---

**bud.sh** is used to execute arbitrary shell commands. It is a wrapper around the [execa](https://github.com/sindresorhus/execa) package.

It's async and returns the `ExecaChildProcess` object. It will pipe the process stdout/stderr to the console automatically.

## Usage

```js title=bud.config.js
export default async bud => {
  await bud.sh(`ls -la`)
}
```

You may use an array of arguments instead of a string:

```js title=bud.config.js
export default async bud => {
  await bud.sh([`ls`, `-la`])
}
```

Additionally, you can pass on configuration options to the underlying package:

```js title=bud.config.js
export default async bud => {
  await bud.sh([`ls`, `-la`], {
    shell: true,
  })
}
```
